package src.main.java.com.pms.util;

public class StringUtils {

    /**
     * 判断字符串是否为空或仅包含空白字符
     *
     * @param str 待判断的字符串
     * @return 如果字符串为空或仅包含空白字符，则返回 true；否则返回 false
     */
    public static boolean isBlank(String str) {
        return str == null || str.trim().isEmpty();
    }

    /**
     * 判断字符串是否不为空且不包含空白字符
     *
     * @param str 待判断的字符串
     * @return 如果字符串不为空且不包含空白字符，则返回 true；否则返回 false
     */
    public static boolean isNotBlank(String str) {
        return !isBlank(str);
    }

    /**
     * 判断字符串是否为数字
     *
     * @param str 待判断的字符串
     * @return 如果字符串为数字，则返回 true；否则返回 false
     */
    public static boolean isNumeric(String str) {
        if (isBlank(str)) {
            return false;
        }
        try {
            Double.parseDouble(str);
            return true;
        } catch (NumberFormatException e) {
            return false;
        }
    }

    /**
     * 将字符串转换为整数
     *
     * @param str 待转换的字符串
     * @return 转换后的整数
     * @throws NumberFormatException 如果字符串不能转换为整数
     */
    public static int toInt(String str) throws NumberFormatException {
        return Integer.parseInt(str);
    }

    /**
     * 将字符串转换为双精度浮点数
     *
     * @param str 待转换的字符串
     * @return 转换后的双精度浮点数
     * @throws NumberFormatException 如果字符串不能转换为双精度浮点数
     */
    public static double toDouble(String str) throws NumberFormatException {
        return Double.parseDouble(str);
    }
}
